<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>




  


  
  
  
  
  
  
  
  <title>Filtres AviSynth AssumeFPS / AssumeScaledFPS / ChangeFPS / ConvertFPS</title>
  <link rel="stylesheet" type="text/css" href="../../avisynth.css">
</head>


<body>





<h2><a name="AssumeFPS"></a>AssumeFPS</h2>





<p><code>AssumeFPS </code>(<var>clip, float
fps, bool "sync_audio"</var>)<br>





<code>AssumeFPS </code>(<var>clip, int numerator [,
int denominator], bool "sync_audio"</var>)<br>





<code>AssumeFPS </code>(<var>clip1, clip2, bool
"sync_audio"</var>)</p>





<p>Le filtre <code>AssumeFPS</code> change le taux de rafra&icirc;chissement des images par seconde (framerate) sans changer le nombre d'images
du clip (entra&icirc;nant une acc&eacute;l&eacute;ration ou un ralentissement
de la lecture). Ce filtre modifie seulement le param&egrave;tre
framerate du clip.<br>




Si le param&egrave;tre <var>sync_audio</var> est true (vrai), le filtre
change &eacute;galement le taux d'&eacute;chantillonnage du flux audio,
le pitch du flux audio r&eacute;sultant est donc diff&eacute;rent.</p>





<p>Cela peut &ecirc;tre une m&eacute;thode pour changer le taux d'&eacute;chantillonnage du flux audio seulement.</p>





<p> Dans <em>v2.55</em>, si <var>clip2</var>
est indiqu&eacute;, le framerate de <var>clip1</var>
est ajust&eacute; pour &ecirc;tre &eacute;gal &agrave; celui de <var>clip2</var>. C'est utile lorsque vous voulez joindre deux clip avec des framerate presque identiques. </p>





<p> <b>Exemple: conversion PAL et 4% Telecine</b></p>





<pre>AVISource("FILM_clip.avi") # Charge un clip &agrave; 24 images par secondes.<br>LanczosResize(768,576) # Redimenssionnement au format d'image PAL avec pixel carr&eacute;s.<br>AssumeFPS(25, 1, true) # Conversion du framerate en PAL, et ajuste &eacute;galement l'audio.<br>SSRC(44100) # R&eacute;tablis le taux d'&eacute;chantillonnage audio &agrave; une valeur courante.</pre>





<p>L'acc&eacute;l&eacute;ration de&nbsp;+4% est en
g&eacute;n&eacute;ral utilis&eacute;e pour afficher des films &agrave; 24
images par seconde sur des t&eacute;l&eacute;vision au format PAL. Cela
entra&icirc;ne une augmentation de la hauteur et du tempo du flux audio mais
c'est g&eacute;n&eacute;ralement assez bien tol&eacute;r&eacute; par
les spectateurs.</p>





<h2><a name="AssumeScaledFPS"></a>AssumeScaledFPS</h2>





<p><code>AssumeScaledFPS </code>(<var>clip,
int "multiplier", int "divisor", bool "sync_audio"</var>)</p>





<p>Le filtre <code>AssumeScaledFPS</code> applique un facteur
d'&eacute;chelle &agrave; un framerate sans changer le nombre d'images.
Le num&eacute;rateur est multipli&eacute; par le multiplicateur, le
d&eacute;nominateur est multipli&eacute; par le diviseur, le FPS (nombre
d'images par seconde) rationnel obtenu est normalis&eacute;; si le
num&eacute;rateur ou le d&eacute;nominateur du r&eacute;sultat
d&eacute;passe 31 bits, le r&eacute;sultat est arrondi et se voit
appliquer un facteur d'&eacute;chelle. Cela permet d'appliquer
correctement un facteur d'&eacute;chelle rationnel au FPS d'un
clip.&nbsp;</p>





<p>Si <var>sync_audio</var> est&nbsp;true (vrai), le filtre
change &eacute;galement le taux d'&eacute;chantillonnage du flux audio du m&ecirc;me facteur que la video;
le pitch du flux audio r&eacute;sultant est donc diff&eacute;rent.&nbsp;</p>





<p>Disponible dans <em>v2.56</em>. </p>





<h2><a name="ChangeFPS"></a>ChangeFPS</h2>





<p><code>ChangeFPS </code>(<var>clip, float
fps, bool "linear"</var>)<br>





<code>ChangeFPS </code>(<var>clip, int numerator [,
int denominator], bool "linear"</var>)<br>





<code>ChangeFPS </code>(<var>clip1, clip2, bool
"linear"</var>)</p>





<p><tt><code>ChangeFPS</code></tt>
change&nbsp;le taux de rafra&icirc;chissement des images par seconde (framerate) en supprimant ou en dupliquant des images.</p>





<p>Jusqu'&agrave; <em>v2.05</em>, la video &eacute;tait tronqu&eacute;e
ou remplie pour conserver la vitesse de lecture et le temps de lecture
(le nombre d'image &eacute;tait inchang&eacute;). Dans les versions
suivantes, son comportement a &eacute;t&eacute; chang&eacute; et le
nombre d'images est augment&eacute; ou diminu&eacute; de la m&ecirc;me
mani&egrave;re que dans la fonction <code>ConvertFPS</code>.</p>





<p>Dans <em>v2.54</em>, une option <var>linear</var>
= true/false (vrai/faux) a &eacute;t&eacute; ajout&eacute; &agrave; <code>ChangeFPS</code>.
Cela indique &agrave;&nbsp;AviSynth de demander les images de
mani&egrave;re lin&eacute;aire quand il saute des images. Ce
param&egrave;tre est par d&eacute;faut fix&eacute; &agrave; la valeur
true (vrai).</p>





<p> Dans <em>v2.56</em>, si <var>clip2</var>
est pr&eacute;sent, le framerate de <var>clip1</var> est ajust&eacute; pour correspondre &agrave; celui de <var>clip2</var>.</p>





<p> <b>Exemple: conversion&nbsp;PAL-&gt;NTSC</b></p>





<pre>AVISource("PAL_clip.avi") # Charge le clip<br>Bob(height=480) # S&eacute;pare les champs et fait une interpolation pour obtenir la hauteur compl&egrave;te de l'image<br>BicubicResize(640,480) # Redimenssionnement au format d'image NTSC avec pixels carr&eacute;s<br>ChangeFPS(60000, 1001) # Conversion du nombre de champs par seconde PAL &agrave; NTSC en dupliquant certains champs<br>SeparateFields.SelectEvery(4,0,3) # Etape inverse &agrave; la fonction Bob (avec le champ paire en premier). Utilisez SelectEvery(4,1,2) pour obtenir le champ impaire en premier<br>Weave # M&eacute;lange des champs pour finir l'&eacute;tape inverse &agrave; la fonction Bob</pre>





<p>Cela agit comme le proc&eacute;d&eacute; connu sous le nom de "3-2
telecine pull down". Les habitu&eacute;s &agrave; visualiser des video
PAL pourraient noter des sursauts dans les mouvements que les
spectateurs NTSC ignorent ais&eacute;ment comme pour les films
telecin&eacute;s.</p>





<h2><a name="ConvertFPS"></a>ConvertFPS <span class="titresmall"><tt><font color="#e8f0ff">
[yuy2]</font></tt></span> </h2>





<p><code>ConvertFPS </code>(<var>clip, float
new_rate, int "zone", int "vbi"</var>)<br>





<code>ConvertFPS </code>(<var>clip, int numerator [,
int denominator], int "zone", int "vbi"</var>)<br>





<code>ConvertFPS </code>(<var>clip1, clip2, int
"zone", int "vbi"</var>)</p>





<p>N&eacute;cessite une entr&eacute;e en YUY2.</p>





<p>Ce filtre essaye de convertir le&nbsp;framerate de <var>clip</var>
au <var>new_rate</var>
(nouveau framerate) sans supprimer ni ajouter d'images, en produisant
une conversion douce comme le font des bo&icirc;tiers externes de conversion.
La sortie aura (approximativement) la m&ecirc;me dur&eacute;e que <i>clip</i>, mais le nombre d'image changera de mani&egrave;re proportionnelle au ratio entre les framerates de la source et de la cible. </p>





<p>Dans <em>v2.56</em>,&nbsp;si <var>clip2</var>
est pr&eacute;sent, le framerate de <var>clip1</var> est ajust&eacute; pour correspondre &agrave; celui de <var>clip2</var>.</p>





<p>Le filtre proc&egrave;de de deux mani&egrave;res. Si l'argument optionnel <var>zone</var>
n'est pas indiqu&eacute;, il m&eacute;langera les images adjacentes, en
attribuant un poids &agrave; l'image proportionnel au timing
relatif&nbsp;(mode "m&eacute;lange"). Si l'argument <var>zone</var> est
pr&eacute;sent, il changera d'une image &agrave; la suivante (mode "changement")
quand une nouvelle image commence; qui correspond habituellement au
milieu d'une image cible. Le&nbsp;mode "changement"
suppose que la sortie sera affich&eacute;e sur un moniteur TV o&ugrave;
l'image est parcourue du haut vers le bas. Le param&egrave;tre <var>zone</var>
pr&eacute;cise la hauteur de la r&eacute;gion de transition &agrave;
utiliser pour le m&eacute;lange de l'image actuelle avec la suivante. </p>





<p>Le mode de m&eacute;lange (Blend Mode) provoquera un&nbsp;flou
visible, quoique l&eacute;ger, pendant les mouvements. C'est un des
effets typiques des conversions de taux de rafra&icirc;chissements et
on peut m&ecirc;me&nbsp;observer ce ph&eacute;nom&egrave;ne sur des
videos commerciales ou sur des programmes TV. En pr&eacute;sence d'une
source entrelac&eacute;e, il est important de laisser le filtre agir
sur les champs s&eacute;par&eacute;ment plut&ocirc;t que sur l'image
entrelac&eacute;e (voir l'exemple ci dessous). </p>





<p>Le mode "changement" (Switch Mode) est une tentative pour
&eacute;viter le flou pendant les mouvements, mais cela am&egrave;ne en
revanche un sautillement de l'image et quelques artefacts visuels. Les
travelling horizontaux et verticaux peuvent par exemple produire un
l&eacute;ger tremblement. Avec ce type de conversion,&nbsp;les lignes
verticales de l'image affich&eacute;e seront "interrompues" avec une
image fixe ou "incurv&eacute;es" dans des sc&egrave;nes mobiles.
Les changements de sc&egrave;nes peuvent intervenir au milieu d'une
image. Cependant, le r&eacute;sultat est r&eacute;ellement moins flou
qu'en utilisant le mode "m&eacute;lange".&nbsp; </p>





<p>Aucun de ces deux modes n'est parfait. Celui &agrave; choisir
d&eacute;pend de vos pr&eacute;f&eacute;rences personnelles et du type
de mat&eacute;riel &agrave; convertir. Le mode "changement" peut
para&icirc;tre appropri&eacute; si vous pensez envoyer le
r&eacute;sultat sur un &eacute;cran TV et pas sur un &eacute;cran PC. </p>





<p>Les conversions de taux de rafra&icirc;chissement sont
intrins&egrave;quement difficiles. Ce filtre utilise deux des
m&eacute;thodes habituellement utilis&eacute;es par des produits
commerciaux de conversion. Les r&eacute;sultats sont habituellement
assez bons. Les syst&egrave;mes plus &eacute;volu&eacute;s utilisent
des algorithmes de compensation de mouvement, qui sont bien plus
difficiles &agrave; concevoir. S'ils sont bien con&ccedil;us, les
r&eacute;sultats sont meilleurs. </p>





<p>Une video convertie avec cette fonction ne doit pas &ecirc;tre
convertit une nouvelle fois. L'effet de flou s'accentuerait de
fa&ccedil;on exponentielle, produisant une video de pi&egrave;tre
qualit&eacute;. </p>





<p>Les donn&eacute;es audio ne sont pas transform&eacute;es par ce
filtre. Les donn&eacute;es audio seront synchronis&eacute;es, bien que
la dur&eacute;e des donn&eacute;es audio puisse &ecirc;tre
l&eacute;g&egrave;rement diff&eacute;rentes des dur&eacute;es des
donn&eacute;es video apr&egrave;s conversion. Cela vient du fait que la
sortie ne peut contenir qu'un nombre entier d'images. Cet effet sera
plus prononc&eacute; avec des video courtes. La diff&eacute;rence de
longueur des dur&eacute;es doit &ecirc;tre ignor&eacute;e. </p>





<p>Param&egrave;tres:
<table>





  <tbody>





    <tr valign="top">





      <td width="80"><i>new_rate</i></td>





      <td>Taux de rafra&icirc;chissement cible. Il peut
&ecirc;tre un entier ou un nombre &agrave; virgule. Dans le mode
"m&eacute;lange" (blend), <i>new_rate</i> doit &ecirc;tre au moins de
2/3 (66.7%) du taux de rafra&icirc;chissement de la source, ou une
erreur se produira. Ceci est pour &eacute;viter le saut de certaines
images. Si vous devez ralentir votre vid&eacute;o plus que cela,
utilisez le mode de "changement" (switch). </td>





    </tr>





    <tr valign="top">





      <td>zone</td>





      <td>(Optionnel) S'il est sp&eacute;cifi&eacute;, le
filtre passe en mode "changement" &agrave; la place du mode
"m&eacute;lange". C'est un entier sup&eacute;rieur ou &eacute;gal
&agrave; z&eacute;ro. S'il est &eacute;gal &agrave; z&eacute;ro, le
filtre &nbsp;produira un changement brutal, c'est &agrave; dire qu'il
affichera imm&eacute;diatement l'image suivante apr&egrave;s la ligne
de changement. Si cette valeur est sup&eacute;rieure &agrave;
z&eacute;ro, ce param&egrave;tre indique le nombre de ligne &agrave;
utiliser pour la zone de transition, dans laquelle une image est
progressivement m&eacute;lang&eacute;e avec la suivante. zone=80 donne
de bon r&eacute;sultats pour une vid&eacute;o pleine r&eacute;solution
((480/576 lignes). La transition est effectu&eacute;e de la m&ecirc;me
mani&egrave;re qu'avec la fonction PeculiarBlend(). <i>zone</i> doit
&ecirc;tre moins grand ou &eacute;gal au nombre de lignes de l'image de
sortie qui corresponds &agrave; la dur&eacute;e de l'image source. Cela
correspond habituellement &agrave; 5/6 ou 6/5 de la hauteur cible,
c'est &agrave; dire quelques centaines de lignes. Une erreur se produit
si vous choisissez une valeur trop grande. </td>





    </tr>





    <tr valign="top">





      <td><i>vbi</i></td>





      <td>(Optionnel) Dans le mode "changement", ce
param&egrave;tre indique que le filtre doit appliquer une correction de
temps pour compenser le "vertical blanking interval"
(VBI, correspond au temps mit par le canon &agrave; &eacute;lectron
d'un &eacute;cran &agrave; tube cathodique pour revenir en haut de
l'&eacute;cran quand il &agrave; fini d'afficher une image). C'est un
entier sup&eacute;rieur &agrave; z&eacute;ro, indiquant la hauteur (en lignes) du
VBI de l'image cible. Habituellement,&nbsp;vbi=49 pour PAL et vbi=45
pour NTSC, mais ces valeurs ne sont pas critiques. Ce param&egrave;tre
est ignor&eacute; en mode "m&eacute;lange". </td>





    </tr>





  
  
  
  
  </tbody>
</table>





</p>





<p> <b>Exemple: conversion NTSC-&gt;PAL</b></p>





<pre>AVISource("NTSC_clip.avi") # Chargement du clip<br>Bob(height=576) # S&eacute;paration des champs et interpolation pour obtenir la la hauteur compl&egrave;te de l'image<br>BicubicResize(768,576) # Redimmensionnement au format d'image de pixels carr&eacute; PAL. (720,576 pour le CCIR<font size="-1"> (Consultative Committee for International Radio</font>))<br>ConvertFPS(50) # Convertit le taux de rafra&icirc;chissement des champs &agrave; celui du format PAL, en utilisant le mode "m&eacute;lange"<br>SeparateFields.SelectEvery(4,0,3) # Etape inverse &agrave; la fonction Bob (avec le champ paire en premier). Utilisez SelectEvery(4,1,2) pour obtenir le champ impaire en premier<br>Weave # M&eacute;lange des champs pour finir l'&eacute;tape inverse &agrave; la fonction Bob</pre>





<p>Cet exemple marcherait &eacute;galement avec une source NTSC
bas&eacute;e sur des images, et m&ecirc;me avec une source telecine.
Cependant, pour une source de type "film", vous obtiendrez de meilleurs
r&eacute;sultats en utilisant un filtre inverse-telecine en
acc&eacute;l&eacute;rant le taux de rafra&icirc;chissement des images
de 23.976 &agrave; 25 images par seconde.</p>





<p> Notez que tout les param&egrave;tres sont contr&ocirc;l&eacute;s pour v&eacute;rifier leur "bon sens". </p>





<p> <b>Changements:</b> </p>





<table border="1" width="100%">





  <tbody>





    <tr>





      <td width="50%"> v2.56</td>





      <td width="50%">ajout de AssumeScaledFPS</td>





    </tr>





    <tr>





      <td width="50%"> v2.56</td>





      <td width="50%">ajout de l'option clip2 &agrave; ChangeFPS</td>





    </tr>





    <tr>





      <td width="50%"> v2.55</td>





      <td width="50%">ajout de l'option clip2 &agrave; AssumeFPS</td>





    </tr>





    <tr>





      <td width="50%"> v2.54</td>





      <td width="50%">ajout de&nbsp;linear=true/false &agrave; ChangeFPS</td>





    </tr>





  
  
  
  
  </tbody>
</table>





<p><kbd>$English date: 2005/05/14 19:53:55 $<br>





French translation date: 2006/01/23 JasonFly <a href="mailto:macpaille@users.sourceforge.net">macpaille@users.sourceforge.net</a></kbd>
</p>





<form> <input value="Retour" onclick="history.go(-1)" type="button"></form>





</body>
</html>
